The present invention relates to computer networks and, more specifically, to dynamically adapting a maximum transmission unit size in a computer network.
Ethernet networks are typically employed in local area networks (LANs) that include a plurality of network switches. A number of communication protocols have been developed and continue to evolve to enhance Ethernet network performance for various environments. For example, an enhancement to Ethernet, called data center bridging (DCB), converged enhanced Ethernet (CEE) or data center Ethernet (DCE), supports the convergence of LANs with storage area networks (SANs). Other protocols that can be used in a data center environment in conjunction with Ethernet include, for instance, Fibre Channel over Ethernet (FCoE), Internet Wide Area Remote direct memory access Protocol (iWARP), Remote direct memory access over Converged Ethernet (RoCE). Various applications can employ different protocols for different purposes.
Various Ethernet protocols used in a network typically encapsulate data using a common Ethernet frame size. A maximum transmission unit (MTU) size is defined as the largest data unit that the network can transmit. A larger MTU brings greater efficiency because each packet carries more user data while protocol overhead, such as headers or underlying per-packet delays, remain fixed. This results in a higher efficiency, creating an improvement in bulk protocol throughput. A larger MTU also results in processing of fewer packets for the same amount of data. In some systems, such as hybrid architectures, per-packet-processing can be a critical performance limitation. However, using the largest possible MTU can also be problematic. For instance, large packets can occupy a slow link for a longer time period, causing greater delays to following packets while increasing lag and minimum latency. As an example, a 1500-byte packet, the largest allowed by Ethernet at the network layer, ties up a typical 14 kbps modem link for about one second. Large packets are also problematic in the presence of communication errors. Corruption of a single bit in a packet requires that the entire packet be retransmitted. At a given bit-error rate larger packets are more likely to be corrupted. Retransmissions of larger packets take longer, which can reduce overall system throughput.